package com.cci.kangdao.cipFleet.service;

import com.cci.kangdao.cipFleet.dto.request.CipFleetAndEsnRequest;
import com.cci.kangdao.cipFleet.dto.request.CipFleetDelRequest;
import com.cci.kangdao.cipFleet.dto.request.CipFleetRequest;
import com.cci.kangdao.cipFleet.dto.response.CipFleetResponse;
import com.cci.kangdao.cipFleet.dto.response.CipVehicleResponse;
import com.cci.kangdao.dto.BaseResponse;

import java.util.List;

public interface CipFleetService {

	//获取车队信息
	List<CipFleetResponse> getFleetByUserId(Long userId, Integer type);

	//是否白名单
	boolean isFleetWhite(Long userId);

	//添加车队信息
	boolean insertFleet(List<CipFleetRequest> fleetList);

	//添加车辆信息
	boolean insertVehicleList(List<CipVehicleResponse> vehicleInfoList,Long userId,Long fleetId);

	//删除车队信息
	boolean deleteFleet(List<CipFleetDelRequest> fleetList);

	//根据当前登录用户获取车队信息
    BaseResponse appGetFleetList(Long userId,String externalUserId, Integer type);

	//app新增车队接口
	BaseResponse appAddFleet(CipFleetAndEsnRequest cipFleetAndEsnRequest);

    //根据当前登陆人id校验车队名称是否存在
    int checkFleetName(String fleetName, Integer type, Long userId, String externalUserId);

    //获取设备列表
    BaseResponse appGetEquipmentList(Long userId, String externalUserId, Integer type);

	//app修改车队接口
	BaseResponse appUpdateFleet(CipFleetAndEsnRequest cipFleetAndEsnRequest);

	//批量修改车队接口
	void updateFleetByUserId(Long oldUserId, Long userId, String externalUserId, Integer type);

	//批量修改车队接口
	void updateFleetListByUserId(Long userId);

	//批量修改车队接口
	void updateFleetList();

	//app删除车队
	BaseResponse appDeleteFleet(Long fleetId,String cipFleetId,Integer type);

	//app删除车队
	void appDeleteFleetByUserId(Long userId);

	//app删除车队
	void appDeleteFleetByUserIdAndChannel(Long userId,String serviceChannel);

	//处理历史车队
	BaseResponse appFleetHistory();

}
